package com.york.tinyrpc.protoss.serializer;

import java.io.IOException;

/**
 * 自定义序列化接口
 * RPC服务在调用前后都需要网络传输
 * 此处定义序列化接口，可以有不同的序列化方式去实现
 */
public interface Serializer {
    /**
     * 序列化
     *
     * @param object
     * @throws IOException
     */
    <T> byte[] serialize(T object) throws IOException;

    /**
     * 反序列化
     *
     * @param bytes
     * @param type
     * @throws IOException
     */
    <T> T deserialize(byte[] bytes, Class<T> type) throws IOException;
}
